// API接口主文件
import axios from 'axios'

// 创建axios实例
const service = axios.create({
  // 基础URL，实际项目中应该根据环境配置
  baseURL: '/prod-api',
  // 请求超时时间
  timeout: 10000
})

// 请求拦截器
service.interceptors.request.use(
  config => {
    // 可以在这里添加token等认证信息
    return config
  },
  error => {
    console.error('请求错误:', error)
    return Promise.reject(error)
  }
)

// 响应拦截器
service.interceptors.response.use(
  response => {
    // 对响应数据进行处理
    return response.data
  },
  error => {
    console.error('响应错误:', error)
    return Promise.reject(error)
  }
)

// API接口定义
const api = {
  // 获取所有预约记录
  getWaybillList: (fwid) => {
    return service.post('/appointment/waybillList', {
      fwid
    })
  },

  // 注册预约信息
  registerAppointment: (data) => {
    return service.post('/appointment/register', data)
  },

  // 查找注册信息
  getRegisterInfo: (fwid) => {
    return service.post('/appointment/getRegisterInfo', {
      fwid
    })
  },

  // 获取微信识别ID和access_token
  getWechatIds: () => {
    return service.get('/wechat/get-ids', {
      credentials: 'include'
    })
  },
  
  // 通过微信授权code获取openId和unionId
  getWechatIdsByCode: (code) => {
    return service.get('/wechat/get-ids-by-code', {
      params: { code },
      credentials: 'include'
    })
  },
  
  // 获取微信access_token
  getWechatAccessToken: () => {
    return service.get('/wechat/access-token', {
      credentials: 'include'
    })
  },

  // 获取最新预约记录二维码
  getWaybillQRCode: (fwid) => {
    return service.get('/appointment/waybillQrCode', {
      params: { fwid }
    })
  },

  // 其他通用API接口...
}

export default api